home *** CD-ROM | disk | FTP | other *** search
/ CD ROM Paradise Collection 4 / CD ROM Paradise Collection 4 1995 Nov.iso / program / swags_z.zip / SCREEN.SWG / 0017_VIDEORAM.PAS.pas < prev    next >
Pascal/Delphi Source File  |  1993-05-28  |  1KB  |  30 lines

  1. {
  2. Author : BERNIE PALLEK
  3.  
  4. > Thanks to those of you who have been answering my question about
  5. > writing to the last position on the far right bottom of the screen.
  6. > As you will recall, the trouble I had was that when you Write to that
  7. > position (position 80, line 25) using a Write (not a Writeln) statement
  8.  
  9. Another solution would be to create a Procedure that directly Writes to the
  10. video ram, like this:
  11. }
  12.  
  13. Const
  14.   vidSeg = $B800;  { $B000 For monochrome monitors }
  15.  
  16. Procedure WriteAt(x1, y1 : Byte; msg : String);
  17. Var
  18.   i : Integer;
  19. begin
  20.   For i := 1 to Length(msg) do
  21.     Mem[vidSeg : (x1 + i - 1) * 2 + (y1 - 1) * 160] := msg[i];
  22. end;
  23.  
  24. {
  25. This will change the Text on any place on the screen, disregarding the cursor
  26. position.  Be careful, though!  if you Write a message With, say, 20
  27. Characters, and start it at 80, 25, only the first letter will be visible, and
  28. the rest of the String will over-Write other areas of ram, which could cause
  29. mayhem!  Use With caution!
  30. }